package proyecto.servlet;

import java.io.IOException;
import java.util.Collection;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import proyecto.excepcion.*;
import proyecto.modelo.*;
import proyecto.negocio.*;

@WebServlet("/EspacioComunServlet")
public class EspacioComunServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       

    public EspacioComunServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.processRequest(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		this.processRequest(request, response);
	}

	protected void processRequest(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		String accion = request.getParameter("accion");
		HttpSession session = request.getSession();
		
		Usuario usuarioLogueado = (Usuario) session.getAttribute("USUARIO_ACTUAL");
				
		EspacioComunNegocio negocio= new EspacioComunNegocio();
		UsoEspacioComunNegocio negocio2= new UsoEspacioComunNegocio();
		
		if(accion.equals("listarEspaciosAreservar")){			
			try {
				Collection<EspacioComun> lista = negocio.listarEspacioComun();
				request.setAttribute("listaEspacioComun", lista);
				RequestDispatcher rd = request.getRequestDispatcher("reservarEspacioComun.jsp");
				rd.forward(request, response);

			} catch (DAOExcepcion e) {
				System.out.println(e.getMessage());
				RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
				rd.forward(request, response);
			}
		}
			else if(accion.equals("reservar")){
				try {
					int espacioComun = Integer.parseInt(request.getParameter("espacioComun").toString());
					String fecha = request.getParameter("fecha");
					String horaInicio = request.getParameter("horaInicio");
					String horaFin = request.getParameter("horaFin");
					
					negocio2.ReservarUsoEspacioComun(fecha, horaInicio, horaFin, usuarioLogueado.getIdPersona(), espacioComun);
					
					Collection<EspacioComun> lista = negocio.listarEspacioComun();
					request.setAttribute("listaEspacioComun", lista);
					RequestDispatcher rd = request.getRequestDispatcher("reservarEspacioComun.jsp");
					rd.forward(request, response);

				} catch (DAOExcepcion e) {
					System.out.println(e.getMessage());
					RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
					rd.forward(request, response);
				}
		}
		
	}
}
